草庐IT

$Spring 容器

全部标签

带工厂的 PHP 依赖注入(inject)容器

我正在使用silexphp/Pimple依赖注入(inject)容器(DIC),但不确定如何处理经典工厂模式。例子:父类Animal.php有两个子类,分别是DogAnimal.php和CatAnimal.php。子类的数量可以增长。在这种情况下,我想创建一个工厂来创建新的动物对象或动物类的子对象。Pimple允许为每个服务创建工厂方法。在使用PimpleDIC时,我认为我不想将每个子类(狗、猫等)添加为服务。特别是随着列表的增长。在我看来,这似乎是对DIC的误用,但也许我错了。我是否正确地假设我应该创建动物工厂服务并使用Pimple将依赖项注入(inject)工厂,而工厂又被用来创建

php - 在 (php-fpm) docker 容器中找不到 mysqli

我在跑php:7-fpm在我的nginxWeb服务器使用的docker容器中。除了我试图在我的PHP代码中实例化mysqli连接时,一切都运行良好。我收到以下错误:"NOTICE:PHPmessage:PHPFatalerror:UncaughtError:Class'Listener\mysqli'notfoundinindex.php:104这是我用于构建图像的Dockerfile,我在其中明确安装了mysqli扩展:FROMphp:7-fpmRUNdocker-php-ext-installmysqli根据下面的phpinfo()输出,它似乎已安装。我是否需要以某种方式配置或启用

【Java开发】 Spring 11 :Spring Boot 项目部署至云服务器

SpringBoot项目开发结束后的工作便是运维,简单来说需要配置 Web运行参数和项目部署两大工作,本文将尽可能详细地给大家讲全!目录1定制Web容器运行参数1.1 运行参数介绍1.2 项目搭建①通过IDEASpringInitializr创建项目②添加SpringWeb等依赖③编写controller层的接口④测试接口1.2定制运行参数①配置压缩支持+报错处理②报错处理③压缩支持2将应用以Jar包形式部署至服务器2.1云服务器安装JDK8①下载linux版本下的jdk② 上传至指定文件夹并解压③配置环境变量④验证2.2以jar包形式将SpringBoot 项目部署到云服务器①添加maven

spring-boot-starter-validation数据校验全局异常拦截处理

一、为什么使用Validation来验证参数通常我们在使用spring框架编写接口时,对于部分接口的参数我们要进行判空或者格式校验来避免程序出现异常。那是我们一般都是使用if-else逐个对参数进行校验。这种方法按逻辑来说也是没有问题的,同样也能实现预期效果。但是,这样的代码从可读性以及美观程序来看,是非常糟糕的。那么,我们就可以使用@valid注解来帮助我们优雅的校验参数。二、如何使用Validation相关注解进行参数校验为实体类中的参数或者对象添加相应的注解;在控制器层进行注解声明,或者手动调用校验方法进行校验;对异常进行处理;三、Validation类的相关注解及描述验证注解验证的数据

java - 与 Symfony2 应用程序相比,spring MVC 表示层应该如何构建?

为了更好地理解我在这里想要实现的目标,是一个典型的图像Symfony2只有一个包和一个springMVC应用程序并排的应用程序:我知道Symfony2之间存在概念上的差异它可用于构建整个应用程序,而SpringMVC也可用于构建整个应用程序,但在我的情况下,我希望它充当我的仅表示层.使用SpringMVC有点像使用原始裸机。我更喜欢固执己见的方法。我想要类似于Symfony2中的包的东西每个包都包含它的Controller、View、表单、模板、配置、js和css。我希望按Controller名称对View进行分组。我想要一些东西来容纳整个应用程序的配置,比如数据库或电子邮件服务器,以

php - 如何从中间件向 Laravel 的 IOC 容器添加对象

我想在我的中间件中创建一个对象(在本例中,是来自Eloquent查询的集合),然后将它添加到IOC容器中,这样我就可以在我的Controller中使用类型提示方法签名来访问它。这可能吗?我在网上找不到任何例子。 最佳答案 您可以通过几个步骤轻松完成此操作。创建新的中间件(随意命名)phpartisanmake:middlewareUserCollectionMiddleware创建将扩展Eloquent数据库集合的新集合类。此步骤不是必需的,但可以让您将来使用不同的集合类型创建不同的绑定(bind)。否则,您只能对Illuminat

php - Symfony 2 服务容器为空

我是Symfony2的新手,正在尝试创建一些简单的应用程序来学习。我创建了一个包GoogleApiBundle。在bundle中,我有一个ControllerYouTubeController,它是一项服务://services.ymlservice:myname_googleapi_youtube:class:Myname\GoogleApiBundle\Controller\YouTubeController在另一个包中,我尝试调用YouTubeController中的函数//anotherController.php$service=$this->get('myname_goog

php - Symfony2 的 Docker 容器中的权限问题

我正在尝试创建一个Docker镜像来引导Symfony项目。这是我的Dockerfile:FROMphp:7-apacheLABELDescription="ThisimageisusedtostartSymfony3project"ENVDIRPATH/var/www/html#apt-getcommandRUNapt-getupdate&&apt-getinstall-y\vim\gitRUNapt-getinstall-yzlib1g-dev&&docker-php-ext-installzip#InstallComposerRUNcurl-sShttps://getcompos

php - Docker 容器中响应时间缓慢 : Laravel 5. 2

在PHP-7docker容器中运行Laravel5.2时,我得到的响应时间为300ms-400ms。这非常慢,但如果我只是在同一个容器上回显phpinfo(),响应时间是15ms-50ms有没有人经历过这些缓慢的响应时间在Docker容器中使用Laravel? 最佳答案 为了其他任何通过谷歌偶然发现这个问题的人的利益,DockerforMac现在支持userguidedcaching对于卷。Differentapplicationsrequiredifferentlevelsofconsistency.Fullconsistency

php - 将 docker 容器映射到常规开发域名

我是docker的新手,最近使用phpdocker.io(php7、nginx、mysql)生成器安装了一个docker容器/图像。使用docker-compose启动它,它运行得非常好。如果我转到localhost/phpinfo.php,我的常规系统php版本加载(5.6),如果我转到localhost:8080/phpinfo.php,我的dockerphp版本加载(7.0)所以它是工作正常。我的问题是:有什么方法可以将我的localhost:8080映射到常规域名,就像我通常对常规本地主机项目所做的那样?无需使用localhost:8080即:myproject.dev不确定这